package com.sg.dto.biz.app.req;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @desc ImplementSixReceivingFieldReqDto
 * @使用场景
 */
@Data
public class ImplementSixReceivingFieldReqDto
        extends BaseDto
        implements Serializable {

    /**
     * 通用数值字段（整数型）
     */
    @NotNull(message = "通用数值字段（整数型）不能为空")
    @ApiModelProperty("通用数值字段（整数型）")
    private Long comNumField;
    /**
     * 数据值结果
     */
    @NotNull(message = "数据值结果不能为空")
    @ApiModelProperty("数据值结果")
    private Double dataResult;
    /**
     * 周期模式类型编码 FATHER_SON_CYCLE:父子周期 SINGLE_CYCLE:单周期 IRREGULAR_CYCLE:不规则周期
     */
    @NotNull(message = "周期模式类型编码不能为空")
    @ApiModelProperty("周期模式类型编码")
    private String periodicModeTypeCode;
    /**
     * 克隆子或中周期
     */
    @NotNull(message = "克隆子或中周期不能为空")
    @ApiModelProperty("克隆子或中周期")
    private String cloneSubCycle;

    /**
     * 被评对象类型编码
     */
    @ApiModelProperty("被评对象类型编码")
    private String evaObjTypeCode;
    /**
     * 末级目标分类达成数
     */
    @NotNull(message = "末级目标分类达成数不能为空")
    @ApiModelProperty("末级目标分类达成数")
    private Long lastTargetCategoryAchieveNum;

    /**
     * 一级指标达成数
     */
    @NotNull(message = "一级指标达成数不能为空")
    @ApiModelProperty("一级指标达成数")
    private Long rootObjectiveAchieveNum;
    /**
     * 末级指标达成数
     */
    @ApiModelProperty("末级指标达成数")
    private Long lastObjectiveAchieveNum;


}
